Karol Doliński
Informatyka i Ekonometria

1 Wprowadzenie

Uczenie nadzorowane jest rodzajem uczenia maszynowego i wykorzystuje się je kiedy znany jest zbiór cech opisujących zmienną objaśnianą jak i znana jest sama zmienna objaśniana. Celem projektu jest wykorzystanie wybranych metod uczenia maszynowego do problemu klasyfikacji obiektów. Istnieje szereg metod umożliwiających zarówno predykcję zmiennych numerycznych jak i jakościowych. Natomiast niniejsza praca skupiać się będzie na klasyfikacji i predykcji zmiennej jakościowej. Pierwszym etapem badania będzie analiza eksploracyjna. Następnie zostaną stworzone modele klasyfikacyjne, a ich jakość zostanie oceniona i porównana z wykorzystaniem zbioru testowego. Badanie zostanie uzupełnione o analizę interpretowalności.


2 Zbiór danych

Zbiór danych składa się z siedmiu zmiennych dotyczących trzech gatunków pingwinów.

Zmienne:

  1. species - gatunek (zmienna kategoryczna)
  2. island - wyspa zamieszkiwania (zmienna kategoryczna)
  3. bill_length - długość dzioba [mm] (zmienna numeryczna)
  4. bill_depth - wysokość/głębokość dzioba [mm] (zmienna numeryczna)
  1. flipper_length - długość płetwy [mm] (zmienna numeryczna)
  2. body_mass - masa ciała [g] (zmienna numeryczna)
  3. sex - płeć (zmienna kategoryczna)

Źródło danych: Horst AM, Hill AP, Gorman KB (2020). palmerpenguins: Palmer Archipelago (Antarctica) penguin data. R package version 0.1.0. https://allisonhorst.github.io/palmerpenguins/ [dostęp: 18.05.2022]

Liczba obserwacji w zbiorze jest równa 342, natomiast występuje 9 obserwacji z brakami w danych. W celu uzupełnienia tych braków w danych wykorzystano metodą k-najbliższych sąsiadów.

W zbiorze nie wykryto wartości odstających po zastosowaniu reguły trzech sigm oraz testu Grubbsa (przyjmując poziom istotności równy 0.05).

2.1 Analiza eksploracyjna

Średnie wartości wszystkich zmiennych numerycznych są bliskie odpowiadającym im wartościom mediany co może wskazywać na symetryczność cech (zob. Tab. 1). Odchylenia standardowe są stosunkowo niewielkie, za wyjątkiem zmiennej body_mass, dla której odchylenie to jest równe ponad 800 g przy średniej w okolicach 4200 g. Jest to również zmienna z największą wartością skośności, która jest prawostronna - większość obserwacji jest poniżej średniej, czyli większość pingwinów waży mniej niż 4201 g. Wszystkie zmienne charakteryzuje ujemna kurtoza w przedziale między -1.00 a -0.74, co wskazuje, iż wartości poszczególnych zmiennych nie są skoncentrowane blisko średniej z danej cechy.

Średnia Odch. standardowe Mediana Min Max Skośność Kurtoza
bill_length 43.9219 5.4596 44.45 32.1 59.6 0.0527 -0.8931
bill_depth 17.1512 1.9748 17.30 13.1 21.5 -0.1422 -0.9234
flipper_length 200.9152 14.0617 197.00 172.0 231.0 0.3427 -0.9992
body_mass 4201.7544 801.9545 4050.00 2700.0 6300.0 0.4662 -0.7395
Tab. 1.: Wartość statystyk opisowych dla zmiennych numerycznych

Analizując wykresy pudełkowe zmiennych numerycznych można zauważyć wpływ poszczególnych cech na zmienną species. Wartość zmiennej bill_length jest podobna dla gatunku Chinstrap i Gentoo, jednocześnie będąc o kilkanaście jednostek większa niż w przypadku gatunku Adelie. Natomiast trzy pozostałe cechy (bill_depth, flipper_length, body_mass) przyjmują wartości bliskie sobie dla gatunku Adelie i Chinstrap. Pingwiny Gentoo zauważalnie odróżniają się od pozostałych dla tle właśnie tych zmiennych. Reprezentanci klasy Gentoo cechują się większą długością płetwy i masą ciała, ale mniejszą głębokością dzioba w stosunku do gatunku Adelie i Chinstrap.

Rys. 1. Wpływ poszczególnych zmiennych numerycznych na zmienną species .


Zmienna sex wydaje się nie mieć wpływu na zmienną species. Liczebność obiektów dla każdej z płci jest podobna dla każdego z trzech gatunków pingwinów (zob. Tab. 2). Natomiast w przypadku zmiennej island taka zależność nie ma miejsca (zob. Tab. 3). Można zauważyć, iż wszystkie pingwiny rasy Gentoo mieszkają na wyspie Biscoe, z kolei pingwiny rasy Chinstrap można spotkać tylko na wyspie Dream. Wpływ zmiennej island na zmienną species jest znaczący, zwłaszcza dla pingwinów innego gatunku niż Adelie.

female male
Adelie 77 74
Chinstrap 34 34
Gentoo 61 62
Tab. 2.: Wpływ płci na gatunek
Biscoe Dream Torgersen
Adelie 44 56 51
Chinstrap 0 68 0
Gentoo 123 0 0
Tab. 3.: Wpływ wyspy zamieszkiwania na gatunek

Zbiór danych nie jest zbalansowany (zob. Tab. 4), co jest własnością niepożądaną. Natomiast istnieją techniki do radzenia sobie z niezbalansowanymi zbiorami danych - zostaną one wykorzystane w pracy.

Species Liczba obserwacji
Adelie 151
Chinstrap 68
Gentoo 123
Tab. 4.: Zbalansowanie zmiennej species

3 Badanie empiryczne

W badaniu empirycznym zbiór podzielono losowo na uczący i testowy w proporcji 3:1. Wykorzystano trzy metody uczenia maszynowego do predykcji zmiennej species i cztery metody w przypadku zmiennej sex. Były to:

  • metoda k-najbliższych sąsiadów,
  • SVM,
  • drzewo decyzyjne,
  • regresja logistyczną (tylko dla zmiennej sex).

Podczas budowy modeli zastosowano 10-krotny sprawdzian krzyżowy oraz oversampling. Zdecydowano się również na optymalizację hiperparametrów:

  • metoda k-najbliższych sąsiadów – parametr: liczba sąsiadów od 3 do 29 (tylko liczby nieparzyste);
  • SVM – parametr C (wsp. regularyzacji): zbiór wartości {0.1, 0.2, 0.3, … 2.0};
  • drzewo decyzyjne – parametr cp (parametr złożoności drzewa): zbiór wartości {0.005, 0.010, 0.015, … 0.200}.

3.1 Zmienna species

Predykcja wartości zmiennej species z wykorzystaniem trzech modeli: k-najbliższych sąsiadów, SVM, drzewa decyzyjnego wypadła bardzo dobrze. Pierwsze dwie metody błędnie zaklasyfikowały tylko jedną obserwację ze zbioru testowego. W przypadku drzewa decyzyjnego było to pięć obiektów.

3.1.1 KNN

Wartość rzeczywista
Adelie Chinstrap Gentoo
Adelie 35 0 0
Chinstrap 1 17 0
Gentoo 0 0 33
Tab. 5.: Macierz pomyłek - metoda KNN

3.1.2 SVM

Wartość rzeczywista
Adelie Chinstrap Gentoo
Adelie 35 0 0
Chinstrap 1 17 0
Gentoo 0 0 33
Tab. 6.: Macierz pomyłek - SVM

3.1.3 Drzewo decyzyjne

Wartość rzeczywista
Adelie Chinstrap Gentoo
Adelie 34 0 0
Chinstrap 2 14 0
Gentoo 0 3 33
Tab. 7.: Macierz pomyłek - drzewo decyzyjne

Z uwagi na bardzo dobrą jakość modeli przewidujących wartość zmiennej species zdecydowano się dokonać predykcji zmiennej sex. Dzięki temu istnieje szansa, że jakość klasyfikacji uzyskanych za pomocą poszczególnych modeli będzie bardziej zróżnicowana, a tym samym możliwie będzie porównanie jakości samych metod. W przypadku zmiennej species jakość klasyfikacji była tak dobra, iż porównanie metod mogłoby nie być miarodajne.

3.2 Zmienna sex

Przed dokonaniem predykcji zmiennej sex postanowiono zbadać wpływ zmiennych numerycznych na tę właśnie zmienną. Zależność jest dostrzegalna gołym okiem, iż pingwiny płci żeńskiej cechują się mniejszymi wartościami wszystkich zmiennych numerycznych niż pingwiny płci męskiej.

Rys. 2. Wpływ poszczególnych zmiennych numerycznych na zmienną sex .


Zmienna island wydaje się nie mieć wpływu na zmienną sex. Na każdej wyspie mieszka podobna liczba pingiwnów płci męskiej i żeńskiej (zob. Tab. 8).

Biscoe Dream Torgersen
female 83 62 27
male 84 62 24
Tab. 8.: Wpływ wyspy zamieszkiwania na płeć

Zbiór danych jest zbalansowany, niemniej występuje różnica równa dwa pomiędzy liczebnością osobników płci męskiej i żeńskiej. Podczas budowy modelu zostanie zastosowany oversampling, aby liczba obserwacji w grupach była równa.

Sex Liczba obserwacji
female 172
male 170
Tab. 9.: Zbalansowanie zmiennej sex


Predykcja wartości zmiennej sex z wykorzystaniem czterech modeli: k-najbliższych sąsiadów, SVM, drzewa decyzyjnego, regresji logistycznej wypadła bardzo dobrze. Najlepsze wyniki uzyskano z modelu regresji logistycznej – dokładność prognozy to ponad 93% (zob. Tab. 4). Delikatnie gorszą dokładność uzyskała metoda SVM i KNN – dokładność wyniosła odpowiednio 92% i 90%. Nieco gorzej poradził sobie model oparty na drzewie decyzyjnym, tu liczba poprawnych predykcji wyniosła tylko 78%, co jest wartością zauważalnie niższą w stosunku do poprzednich metod. Warto zaznaczyć, iż model ten lepiej prognozował klasę pozytywną (czułość: 83%) niż negatywną (swoistość: 73%). Niemniej można stwierdzić, patrząc na wysokie wartości wszystkich miar służących do oceny jakości prognoz, iż wszystkie modele, a zwłaszcza KNN, SVM, regresja logistyczna są bardzo dobre w predykcji zmiennej sex.

3.2.1 KNN

3.2.2 SVM

3.2.3 Drzewo decyzyjne

3.2.4 Regresja logistyczna

KNN SVM Drzewo decyzyjne Regresja logistyczna
Accuracy 0.8953488 0.9186047 0.7790698 0.9302326
Sensitivity 0.9024390 0.9024390 0.8292683 0.9268293
Specificity 0.8888889 0.9333333 0.7333333 0.9333333
Precision 0.8809524 0.9250000 0.7391304 0.9268293
F1 0.8915663 0.9135802 0.7816092 0.9268293
Tab. 10.: Ocena jakości klasyfikacji

4 Analiza interpretowalności modelu

Została wykonana również analiza interpretowalności modelu regresji logistycznej, gdzie zmienną objaśnianą była zmienna sex. Badanie wykonano w oparciu o profile ceteris-paribus, wykresy częściowej zależności oraz wartości SHAP.

Do analizy interpretowalności (za pomocą PCP i wartości SHAP) wykorzystano jeden obiekt (zob. Tab. 11).

species island bill_length bill_depth flipper_length body_mass sex
76 Adelie Torgersen 40.9 16.8 191 3700 female
Tab. 11.: Przykładowy obiekt

4.1 Profile ceteris-paribus

Omówienie profili ceteris paribus zostanie wykonane w oparciu o jeden obiekt, pingwina płci żeńskiej. W analizie klasą pozytywną (1) był pingwin płci męskiej, a negatywną (0) – płci żeńskiej. Warto zauważyć, iż profil regresji logistycznej (dla zmiennych numerycznych) jest funkcją ciągłą. Gdyby obiekt nr 76 miał głębokość dzioba równą 20 mm, to przewidywane prawdopodobieństwo, iż jest to pingwin płci męskiej wzrosłoby prawie do 100% (zachowując niezmienione wartości wszystkich innych zmiennych objaśniających). Można zauważyć iż wzrost wartości każdej zmiennej numerycznej, zwiększa przewidywane prawdopodobieństwo bycia pingwinem płci męskiej. W przypadku, gdyby obiekt nr 76 mieszkał na wyspie Dream, przewidywane prawdopodobieństwo, iż jest to pingwin płci męskiej zwiększyłoby się o ponad 25% (ceteris paribus). Jeżeli natomiast pingwin byłby innego gatunku niż Adelie, to prawdopodobieństwo zmniejszyłoby się o prawie 20% (ceteris paribus).

Rys. 3. Profile ceteris-paribus - zmienna objaśniana: sex .


4.2 Wykresy częściowej zależności

Wykresy częściowej zależności pozwalają odpowiedzieć na pytanie dotyczące zmian wartości zmiennej Y wywołanych zmianą jednej ze zmiennych X, w przypadku gdy pozostałe zmienne predykcyjne są uśredniane.

Wnioski płynące z wykresów nie są zaskoczeniem (między innymi dzięki konkluzjom płynącym z interpretacji modeli ceteris paribus). Można zauważyć, iż im większa jest wartość którejś ze zmiennych numerycznych, tym bardziej prawdopodobne jest, że pingwin jest płci męskiej. Największa zmiana prognozowanej wartości zmiennej sex jest możliwa kiedy zmienia się wartość zmiennej body_mass, zaś najmniejsza – w przypadku zmiennej fillper_length (dla której prognozowana wartość zmienia się minimalnie). W przypadku zmiennej island model przewiduje podobne prawdopodobieństwo (w okolicach 50%), natomiast kiedy zmienna species przyjmuje wartość Adelie, prawdopodobieństwo, iż pingwin jest płci męskiej jest znacznie wyższe niż w przypadku pozostałych wartości tej zmiennej (a wartości wszystkich pozostałych zmiennych są uśrednione).

Rys. 4. Wykresy częściowej zależności - zmienna objaśniana: sex .


4.3 Wartości SHAP

Wykres wskazuje, że najważniejszymi zmiennymi z punktu widzenia predykcji dla obiektu nr 76 są zmienne species, body_mass oraz bill_length. Natomiast najmniej istotna zmienna to flipper_length. Wszystkie zmienne, za wyjątkiem zmiennej species, mają ujemny wpływ na końcowy wynik.

Rys. 5. Wartości SHAP - zmienna objaśniana: sex .



5 Podsumowanie

W projekcie wykorzystano wybrane metody uczenia maszynowego do rozwiązania problemu klasyfikacji obiektów. Była to metoda k-najbliższych sąsiadów, SVM, drzewo decyzyjne oraz regresja logistyczna. Aby poprawić jakość zbudowanych modeli, służących do predykcji zmiennej species (w I części badania) i sex (w II części badania) zdecydowano się wykorzystać 10-krotny sprawdzian krzyżowy oraz oversampling. Ponadto dokonano optymalizacji hiperparametrów.

Predykcja zmiennej species przebiegła bardzo dobrze, tzn. udało się otrzymać prawie bezbłędne w predykcji modele uczenia maszynowego. Aby możliwe było bardziej miarodajne porównanie jakości samych metod, zdecydowano, iż zostaną stworzone modele ze zmienną sex jako zmienną objaśnianą. Dla takich modeli wyniki predykcji były bardziej zróżnicowane. Zdecydowanie najlepiej z problemem predykcji zmiennej sex poradził sobie model regresji logistycznej, a niewiele gorzej ten wykorzystujący SVM i KNN. Jakość prognoz była bardzo wysoka, z wartością F1 Score na poziomie między 89-93%. Nieco gorzej predykcji dokonywał model drzewa decyzyjnego, gdzie F1 Score był na poziomie 78%. Warto wspomnieć, iż szansa poprawnej predykcji bez modelu statystycznego (np. wykorzystując rzut monetą do predykcji płci), byłaby równa zaledwie 50%. Tym samym wszystkie modele można ocenić jako dobre lub bardzo dobre, gdyż odsetek poprawnych predykcji wyniósł nawet 93%, a F1 Score ponad 92%.

Analiza interpretowalności wykazała, iż im większa jest wartość którejś ze zmiennych numerycznych, tym bardziej prawdopodobne jest, że pingwin jest płci męskiej. Ponadto sytuacja kiedy zmienna species przyjmuje wartość Adelie, zwiększa prawdopodobieństwo, iż pingwin jest płci męskiej niż w przypadku pozostałych wartości tej zmiennej. Analiza wartości SHAP (dla wybranej obserwacji) pozwala na stwierdzenie, że z punktu widzenia predykcji dla obiektu nr 76: zmienne species, body_mass oraz bill_length są tymi najważniejszymi. Natomiast najmniej istotna zmienna to flipper_length.